p7z_zip	(){ local type="zip";	p7z_compress "$@"; }
p7z_7z	(){ local type="7z";	p7z_compress "$@"; }
p7z_compress(){
	# 引数1が数字
	if [ "$(echo "$1" | egrep "^[0-9]$")" ]; then
		# 引数1が数字 & 引数の総数が1より大きい
		if [ "$#" -gt "1" ]; then
			local l="$1"
			shift
		# 引数1が数字 & 引数の総数が1より小さい & 引数のファイルまたはディレクトリが存在する場合
		elif [ -e "$1" ]; then
			echo "圧縮レベルの値と同じ名前のディレクトリまたはファイルが存在します"
			echo "圧縮レベルを設定するか./をつけて実行して下さい"
			return
			# 引数1が数字 & 引数の総数が1より小さい & 引数のファイルまたはディレクトリが存在しない場合
			else
				echo "ファイルが見つかりません"
				return
		fi
	# 引数1が数字以外
	else
		local l="5"
	fi
	local name="$(echo "$1" | sed -e "s|^\./|${PWD}/|")"
	[ -e "${name}.${type}" ] && name+="$(date +%Y%m%d_%H%M%S)"
	local archive="${name}.${type}"
	cat <<-_EOT_
		ファイル名: ${archive}
		圧縮タイプ: ${type}
		圧縮レベル: ${l}
	_EOT_
	7z a -mx=${l} "${archive}" "$@" -xr\!.DS_Store && 7z l "${archive}"
}
